# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Super Metroid Template

game: Super Metroid
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

Super Metroid:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  start_inventory_removes_from_pool:
    # Remove items in starting inventory from pool.
    'false': 50
    'true': 0

  remote_items:
    # Items from your own world are sent via the Archipelago server. This allows co-op play of a world and means that
    # you will not lose items on death or save file loss.
    'false': 50
    'true': 0

  death_link:
    # When DeathLink is enabled and someone else with DeathLink dies, you will die. 
    # If "Enable Survive" is selected, reserve tanks can save you.
    disable: 50
    enable: 0
    enable_survive: 0

  #########
  # Logic #
  #########
  preset:
    # Determines the general difficulty of the item placements by adjusting the list of tricks that logic allows.
    # - Newbie: New to randomizers, but completed Super Metroid 100% and knows basic techniques (Wall Jump, Shinespark, Mid-air Morph)
    # - Casual: Occasional rando player. No hell runs or suitless Maridia, some easy to learn tricks in logic.
    # - Regular: Plays rando regularly. Knows many tricks that open up the game.
    # - Veteran: Experienced rando player. Harder everything, some tougher tricks in logic.
    # - Expert: Knows almost all tricks: full suitless Maridia, Lower Norfair hell runs, etc.
    # - Master: Everything on hardest, all tricks known.
    # In-depth details on each preset can be found on the VARIA website: https://varia.run/presets
    # You may also specify "varia_custom" to use varia_custom_preset option, or specify "custom" to use custom_preset option.
    newbie: 0
    casual: 0
    regular: 50
    veteran: 0
    expert: 0
    master: 0
    samus: 0
    season_races: 0
    smrat2021: 0
    solution: 0
    custom: 0
    varia_custom: 0

  max_difficulty:
    # Maximum difficulty of tricks that are allowed from the seed's Preset.
    # Depending on the perceived difficulties of the techniques, bosses, hell runs etc. from the preset, it will
    # prevent the Randomizer from placing an item in a location too difficult to reach with the current items.
    easy: 0
    medium: 0
    hard: 0
    harder: 0
    hardcore: 50
    mania: 0
    infinity: 0

  start_location:
    # Choose where you want to start the game.
    ceres: 0
    landing_site: 50
    gauntlet_top: 0
    green_brinstar_elevator: 0
    big_pink: 0
    etecoons_supers: 0
    wrecked_ship_main: 0
    firefleas_top: 0
    business_center: 0
    bubble_mountain: 0
    mama_turtle: 0
    watering_hole: 0
    aqueduct: 0
    red_brinstar_elevator: 0
    golden_four: 0

  varia_custom_preset:
    # use an entry from the preset list on https://varia.run/presets
    {}

  custom_preset:
    # see https://varia.run/presets for detailed info on each preset settings
    # knows: each skill (know) has a pair [can use, perceived difficulty using one of 1, 5, 10, 25, 50 or 100 each one
    #        matching a max_difficulty]
    # settings: hard rooms, hellruns and bosses settings
    # controller: predefined controller mapping and moon walk setting
    controller: {}
    knows: {}
    settings: {}

  ##########################
  # Objectives and Endgame #
  ##########################
  objective:
    # If ""Custom objectives"" is disabled, choose which objectives are required to sink the Golden Four statue and to open access to Tourian.
    # You can choose from 0 to 5 objectives. Up to the first 5 objectives from the list will be selected.
    # Note: If you leave the list empty no objective is required to access Tourian, ie. it's open.
    # Note: See the Tourian parameter to enable fast Tourian or trigger the escape when all objectives are completed.
    # Note: Current percentage of collected items is displayed in the inventory pause menu.
    # Note: In AP, Items% and areas objectives are counted toward location checks, not items collected or received, except for "collect all upgrades"
    # 
    # Format as a comma-separated list of objective names: ["kill three G4", "collect 75% items"]. The default is ["kill all G4"].
    # A full list of supported objectives can be found at:
    # https://github.com/ArchipelagoMW/Archipelago/blob/main/worlds/sm/variaRandomizer/utils/objectives.py
    ['kill all G4']

  custom_objective:
    # Use randomized custom objectives. You can choose which objectives are available for the randomizer to choose from. If enabled, the randomizer 
    # will choose "Custom objective count" objectives from "Custom objective list". Otherwise, only objective is used. Default is disabled.
    'false': 50
    'true': 0

  custom_objective_count:
    # By default you need to complete 4 objectives from the list to access Tourian. You can choose between 1 and 5. This setting is ignored if
    # ""Custom objectives"" is set to false.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  custom_objective_list:
    # If ""Custom objectives"" is enabled, "Custom Objective count" will be used to pick an amount of objective from the list.
    # This setting is ignored if ""Custom objectives"" is set to false.
    # Note: If you leave the list empty no objective is required to access Tourian, ie. it's open.
    # Note: See the Tourian parameter to enable fast Tourian or trigger the escape when all objectives are completed.
    # Note: Current percentage of collected items is displayed in the inventory pause menu.
    # Note: Collect 100% items is excluded by default as it requires you to complete all the objectives.
    # Note: In AP, Items% and areas objectives are counted toward location checks, not items collected or received, except for "collect all upgrades"
    # 
    # Format as a comma-separated list of objective names: ["kill three G4", "collect 75% items"] or ["random"] to specify the whole list except
    # "collect 100% items" and "nothing". The default is ["random"]. A full list of supported objectives can be found at:
    # https://github.com/ArchipelagoMW/Archipelago/blob/main/worlds/sm/variaRandomizer/utils/objectives.py
    ['random']

  tourian:
    # Choose endgame Tourian behaviour:
    # - Vanilla: regular vanilla Tourian
    # - Fast: speed up Tourian to skip Metroids, Zebetites, and all cutscenes (including Mother Brain 3 fight). Golden Four statues are replaced by an invincible Gadora until all objectives are completed.
    # - Disabled: skip Tourian entirely; the escape sequence is triggered as soon as all objectives are completed.
    vanilla: 50
    fast: 0
    disabled: 0

  escape_rando:
    # When leaving Tourian, get teleported to the exit of a random Map station (between Brinstar/Maridia/Norfair/Wrecked Ship).
    # You then have to find your way to the ship in the remaining time. Allotted time depends on area layout, but not on skill settings and is pretty generous.
    # 
    # During the escape sequence:
    # - All doors are opened
    # - Maridia tube is opened
    # - The Hyper Beam can destroy Bomb, Power Bomb and Super Missile blocks and open blue/green gates from both sides
    # - All mini bosses are defeated
    # - All minor enemies are removed to allow you to move faster and remove lag
    # 
    # During regular game only Crateria Map station door can be opened and activating the station will act as if all map stations were activated at once.
    # 
    # Animals Challenges:
    # You can use the extra available time to:
    # - find the animals that are hidden behind a (now blue) map station door
    # - go to the vanilla animals door to cycle through the 4 available escapes, and complete as many escapes as you can
    # 
    # Pick your challenge, or try to do both, but watch your timer!
    'false': 50
    'true': 0

  remove_escape_enemies:
    # Remove enemies during escape sequence, disable it to blast through enemies with your Hyper Beam and cause lag.
    'false': 50
    'true': 0

  animals:
    # Replace saving the animals in the escape sequence by a random surprise.
    # Note: This setting is not available when Escape Randomization is enabled, as it is replaced by Animals Challenges
    # (see Escape Randomization help for more information).
    'false': 50
    'true': 0

  ####################
  # Areas and Layout #
  ####################
  area_randomization:
    # Randomize areas together using bidirectional access portals.
    # - Off: No change. All rooms are connected the same as in the original game.
    # - Full: All doors connecting areas will be randomized. "Areas" are roughly determined, but generally are regions
    # with different tilesets or music. For example, red Brinstar and green/pink Brinstar are different areas, Crocomire
    # and upper Norfair are different areas, etc.
    # - Light: Keep the same number of transitions between areas as in vanilla. So Crocomire area will always be connected
    # to upper Norfair, there'll always be two transitions between Crateria/blue Brinstar and green/pink Brinstar, etc.
    'off': 50
    light: 0
    full: 0

  area_layout:
    # Some layout tweaks to make your life easier in areas randomizer.
    'false': 50
    'true': 0

  doors_colors_rando:
    # Randomize the color of Red/Green/Yellow doors. Add four new types of doors which require Ice/Wave/Spazer/Plasma
    # Beams to open them.
    'false': 50
    'true': 0

  allow_grey_doors:
    # When randomizing the color of Red/Green/Yellow doors, some doors can be randomized to Grey. Grey doors will never
    # open; you will have to go around them.
    'false': 50
    'true': 0

  boss_randomization:
    # Randomize Golden 4 bosses access doors using bidirectional access portals.
    'false': 50
    'true': 0

  layout_patches:
    # Include the anti-softlock layout patches. Disable at your own softlocking risk!
    'false': 0
    'true': 50

  #############
  # Item Pool #
  #############
  morph_placement:
    # Influences where the Morphing Ball will be placed.
    early: 50
    normal: 0

  strict_minors:
    # Instead of using the Minors proportions as probabilities, enforce a strict distribution to match the proportions
    # as closely as possible.
    'false': 50
    'true': 0

  missile_qty:
    # The higher the number, the higher the probability of choosing Missiles when placing a minor.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 90
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-90: 0 # random value between 10 and 90

  super_qty:
    # The higher the number, the higher the probability of choosing Super Missiles when placing a minor.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 90
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-90: 0 # random value between 10 and 90

  power_bomb_qty:
    # The higher the number, the higher the probability of choosing Power Bombs when placing a minor.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 90
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-90: 0 # random value between 10 and 90

  minor_qty:
    # From 7%, minimum number of minors required to finish the game, to 100%.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 7
    # Maximum value is 100
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-7-100: 0 # random value between 7 and 100

  energy_qty:
    # Choose how many Energy/Reserve Tanks will be available, from 0-1 in ultra sparse, 4-6 in sparse, 8-12 in medium
    # and 18 in vanilla.
    ultra_sparse: 0
    sparse: 0
    medium: 0
    vanilla: 50

  fun_combat:
    # Forces removal of Plasma Beam and Screw Attack if the preset and settings allow it. In addition, can randomly
    # remove Spazer and Wave Beam from the Combat set. If used, might force 'minimal' accessibility.
    'false': 50
    'true': 0

  fun_movement:
    # Forces removal of Space Jump if the preset allows it. In addition, can randomly remove High Jump, Grappling Beam,
    # Spring Ball, Speed Booster, and Bombs from the Movement set. If used, might force 'minimal' accessibility.
    'false': 50
    'true': 0

  fun_suits:
    # If the preset and seed layout allow it, will force removal of at least one of Varia Suit and/or Gravity Suit. If
    # used, might force 'minimal' accessibility.
    'false': 50
    'true': 0

  ###############
  # Misc Tweaks #
  ###############
  varia_tweaks:
    # Include minor tweaks for the game to behave 'as it should' in a randomizer context:
    # - Bomb Torizo always activates after picking up its item and does not require Bomb to activate
    # - Wrecked Ship item on the Energy Tank Chozo statue is present before defeating Phantoon
    # - Lower Norfair Chozo statue that lowers the acid toward Gold Torizo does not require Space Jump to activate
    'false': 50
    'true': 0

  gravity_behaviour:
    # Modify the heat damage and enemy damage reduction qualities of the Gravity and Varia Suits.
    # - Vanilla: Gravity provides full protection against all environmental damage (heat, spikes, etc.)
    # - Balanced: Removes Gravity environmental protection. Doubles Varia environmental protection. Enemy damage protection
    # is vanilla (50% Varia, 75% Gravity).
    # - Progressive: Gravity provides 50% heat reduction, Varia provides full heat reduction. Each suit adds 50% enemy
    # and environmental reduction, stacking to 75% reduction if you have both.
    vanilla: 0
    balanced: 50
    progressive: 0

  nerfed_charge:
    # Samus begins with a starter Charge Beam that does one third of charged shot damage that can damage bosses. Pseudo
    # Screws also do one third damage. Special Beam Attacks do normal damage but cost 3 Power Bombs instead of 1. Once the
    # Charge Beam item has been collected, it does full damage and special attacks are back to normal.
    'false': 50
    'true': 0

  spin_jump_restart:
    # Allows Samus to start spinning in mid air after jumping or falling.
    'false': 50
    'true': 0

  rando_speed:
    # Let Samus keeps her momentum when landing from a fall or from jumping.
    'false': 50
    'true': 0

  infinite_space_jump:
    # Space jumps can be done quicker and at any time in air, water or lava, even after falling long distances.
    'false': 50
    'true': 0

  relaxed_round_robin_cf:
    # Changes Crystal Flashes behavior and requirements as follows:
    # 
    # You can perform a Crystal Flash with any amount of ammo, but you need at least one Power Bomb to begin the process.
    # After consuming 1 ammo, Samus gains 50 energy, and it will try a different ammo type next,  
    # cycling through Missiles, Supers, and Power Bombs as available. The cycling is to keep the consumption even between ammo types.
    # If one of your ammo types is at 0, it will be skipped.
    # The Crystal Flash ends when Samus is out of ammo or a total of 30 ammo has been consumed.
    'false': 50
    'true': 0

  ###################
  # Quality of Life #
  ###################
  elevators_speed:
    # Accelerate elevators transitions.
    'false': 0
    'true': 50

  fast_doors:
    # Accelerate doors transitions.
    'false': 0
    'true': 50

  refill_before_save:
    # Refill energy and ammo when saving.
    'false': 50
    'true': 0

  ############
  # Cosmetic #
  ############
  hud:
    # Displays the current area name and the number of remaining items of selected item split in the HUD for the
    # current area.
    'false': 50
    'true': 0

  hide_items:
    # Hides half of the visible items.
    # Items always visible:
    # - Energy Tank, Gauntlet
    # - Energy Tank, Terminator
    # - Morphing Ball
    # - Missile (Crateria moat)
    # - Missile (green Brinstar below super missile)
    # - Missile (above Crocomire)
    # - Power Bomb (lower Norfair above fire flea room)
    # - Missile (Gravity Suit)
    # - Missile (green Maridia shinespark)
    'false': 50
    'true': 0

  no_music:
    # Disable the background music.
    'false': 50
    'true': 0

  random_music:
    # Randomize the background music.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
